﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//编写一个程序，以实现机器人的层次结构，此层次结构将至少包含抽象类机器人类Robot、炒菜机器人类CookRobot、传菜机器人类DeliveryRobot。
//Robot类应包含机器人姓名name字段、机器人工作的方法Working()，该方法应该在子类中被实现，机器人工作的方式很多，所以Working()方法应该被定义为抽象方法。

//可以在CookRobot中添加一个代表菜的类型的字段，用枚举类型；在DeliveryRobot中添加一个代表连续工作时长的字段hours。
//CookRobot和DeliveryRobot应实现具体的Working()方法。

//在主类中定义一个方法，形参数据类型是string，返回值数据类型是Robot，方法中实现如果传入的字符串是“炒菜”，
//那就返回CookRobot的实例（当然是要用Robot的引用指向的），如果传入的字符串是“传菜”，那就返回DeliveryRobot的实例。

//Main方法中：用户输入所选择的机器人的功能，根据用户的输入Robot执行对应的功能。
namespace Demo2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("你需要什么：炒菜  传菜");
            string CC = Console.ReadLine();
            switch (CC)
            {
                case "炒菜":
                    Console.WriteLine("你要炒什么菜：青龙过海  剁椒鱼头  碳烤素串");
                    string QDT = Console.ReadLine();
                    switch (QDT)
                    {
                        case "青龙过海":
                            CookRobot CO1 = new CookRobot("小爱", menu.青龙过海);
                            CO1.Working();
                            break;
                        case "剁椒鱼头":
                            CookRobot CO2 = new CookRobot("小爱", menu.剁椒鱼头);
                            CO2.Working();
                            break;
                        case "碳烤素串":
                            CookRobot CO3 = new CookRobot("小爱", menu.碳烤素串);
                            CO3.Working();
                            break;
                    }
                    break;
                case "传菜":
                    DeliveryRobot DR = new DeliveryRobot("小易",1.0);
                    DR.Working();
                    break;
            }
            Console.ReadKey();
        }
    }
}
